#include "stdafx.h"
#include <getopt.h>

void iptables_init();
int nfq_start(int ethout);
void checkurl_init();

void showhelp();
void showversion();

int main(int argc, char* argv[])
{
	char* const short_options		= "hve:";
	struct option long_options[]	= {
		{ "help", 0, NULL, 'n' }
		, { "version", 0, NULL, 'v'}
		, { "eth", 1, NULL, 'e'}
		, { NULL, 0, NULL, 0}
	};
	int			ethout		= -1;
	int			c;

	while((c = getopt_long(argc, argv, short_options, long_options, NULL)) != -1)
	{
		switch(c)
		{
		case 'h':
			showhelp();
			return 0;
		case 'v':
			showversion();
			return 0;
		case 'e':
			ethout = atoi(optarg);
			break;	
		}
	}

	// 检测输出网卡硬件编号
	if(-1 == ethout)
	{
		showhelp();
		return -1;
	}
	
	// 初始化iptables
	iptables_init();

	// 初始化URL检测线程
	checkurl_init();

	// 开始网止监控
	nfq_start(ethout);

	return 0;
}

/*
 * 显示帮助
 */
void showhelp()
{

}

/*
 * 显示版本
 */
void showversion()
{

}

